package com.ikas.ai.server.module.risk.model.vo;

import com.ikas.ai.server.module.risk.model.RiskInspection;
import com.ikas.ai.server.module.risk.model.RiskPolicy;
import lombok.Data;

import java.util.Date;
import java.util.LinkedHashMap;
import java.util.List;

/**
 * 风险处置报告-报告详情值对象
 *
 * @author tang.xuandong
 * @version 1.0.0
 * @date 2023/2/7 15:59
 */
@Data
public class RiskReportDetailVo {

    // 系统编号
    private String systemNo;

    // 系统名称
    private String systemName;

    // 机组编号
    private String machineNo;

    // 报告时间
    private Date createTime;

    // 综合评分
    private Double score;

    // 系统定级
    private String level;

    // 各分析场景得分
    private List<SceneScore> sceneScores;

    // 风险处置策略
    private List<RiskPolicy> riskPolicies;

    // 风险巡检项
    private LinkedHashMap<String, List<RiskInspection>> inspections ;

    /**
     * 各分析场景得分
     */
    @Data
    public static class SceneScore {
        // 分析场景
        private String sceneName;

        // 场景得分
        private Double score;

        // 风险信息
        private List<Risk> risks;

    }

    /**
     * 风险信息
     */
    @Data
    public static class Risk {
        // 风险id
        private Long riskId ;

        // 风险名称
        private String riskName ;

        // 权重
        private Double ratio;

        //扣分
        private Double score;
    }

}
